perm filename OO8.FAI[TMP,LCS]3 blob
sn#152813 filedate 1975-03-31 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00009 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE OO
C00003 00003 SETFL: CAIN EN,322
C00004 00004 MVM: HRLI OU,400000(MA)
C00006 00005 BACK: HRRZI 6,-2(CX)
C00008 00006 FIXIT: SETZM OUTFLG
C00010 00007 GETO: MOVEM EN,TMP
C00012 00008 FILIN: OPEN DEVN
C00015 00009 INTRU: HLLZ EN,JOBCNI
C00017 ENDMK
C⊗;
TITLE OO
EXTERNAL JOBAPR,JOBTPC,JOBCNI,JOBDDT,$I
EN←7 ↔ TS←10 ↔ OU←11 ↔ CX←13 ↔ MA←14 ↔ N←15
DDTST: SKIPN JOBDDT
JRST STAR
JSR $I
INT: RESET
SETZM PTNUM
HRRZI EN,INTRU
HRRZM EN,JOBAPR
OUTSTR CRLF
STAR: HRRZI N,MEM
CLRBFI
OUTSTR ASTR
HRLZI EN,21000
IENBW EN,
INCHRS EN
JRST .-2
CAIN EN,15
JRST STAR
HRRZI TS,(N)
INLIN: HRRZM EN,(TS)
SETZM 1(TS)
ADDI TS,2
INCHRS EN
CAIA
JRST INLIN
SUBI TS,4
HRRZ EN,2(TS)
TRNE EN,600
JRST SETFL
MAIN: OUTSTR SPACE
HRRZI MA,MEM
HRRZI CX,(N)
JRST BGIN
SETFL: CAIN EN,322
JRST FIXTS
CAIN EN,301
JRST SETAD
CAIE EN,314
JRST CKMET
SETOM LITF
FIXTS: ADDI TS,2
OUTSTR CRLF
SETOM OUTFLG
JRST MAIN
SETAD: SETOM ADFLG
JRST FIXTS
CKMET: TRNN EN,400
JRST DOFUN
CAIN EN,612
JRST DDTST
SETOM RFLG
CAIN EN,422
JRST FIXTS
SETOM OUTFLG
JRST MAIN+1
DOFUN: CAIN EN,303
JRST PTCALL
CAIN EN,302
JRST PTBEG
CAIN EN,311
JRST FILIN
CAIN EN,317
JRST FILO
CAIE EN,305
JRST FIXTS
JRST INT
MVM: HRLI OU,400000(MA)
HRRZI 6,2
JRST LMVM
LAEQ: HRRZI 6,2
CAIE OU,(MA)
ADDI 6,2
SUBI 5,2
HLL OU,(5)
LMVM: MOVEM OU,(5)
SETZM 1(5)
ADDI 5,2
SUBI TS,(6)
ADDI 6,(5)
HRLZI 6,(6)
HRRI 6,(5)
BLT 6,(TS)
JRST LKMO
FDEQ: MOVE 4,(MA)
HRRZI 5,(N)
LKMO: CAMN 4,(5)
JRST EQU
ADIN: ADDI 5,2
CAIGE 5,(TS)
JRST LKMO
ADDI MA,2
BGIN: CAIGE MA,(N)
JRST FDEQ
HRRZI MA,(CX)
ADDI N,2
CAIGE N,(TS)
JRST FDEQ
JRST BACK
EQU: HRRZI OU,(MA)
CAILE TS,2(5)
CAIG N,2(MA)
JRST CKLA
MOVE 6,2(MA)
CAMN 6,2(5)
HRRI OU,2(MA)
CKLA: CAIGE 5,2(N)
JRST .+4
HRRZ 6,-2(5)
CAIN MA,2(6)
JRST LAEQ
CAIE OU,(MA)
JRST MVM
SKIPGE 1(5)
JRST ADIN
HRLI OU,400001(OU)
AOJ OU,
MOVEM OU,1(5)
CAIGE CX,-2(TS)
JRST ADIN
BACK: HRRZI 6,-2(CX)
ADDI 6,2
SKIPGE 1(6)
JRST NEGA+1
SKIPGE OU,(6)
AOBJN OU,NEGA
HRRZI OU,(6)
HRLI OU,400000(6)
NEGA: MOVEM OU,1(6)
CAIGE 6,-2(TS)
JRST BACK+1
CAIE TS,2(CX)
JRST NOT1
SUBI TS,2
MOVE EN,(TS)
SUB OU,ONEB
CAME OU,EN
CAIN CX,(OU)
JRST NEW1
SKIPGE OUTFLG
AOBJN OU,FIXIT
HRRZI EN,1(OU)
AOBJN OU,GETO
NEW1: SKIPL OUTFLG
AOBJN OU,GETO
HRRZI OU,1(CX)
HRLI OU,400000(OU)
JRST FIXIT-1
NOT1: HRRZI EN,-2(TS)
HRLI EN,400000(CX)
MOVE OU,EN
AOBJP OU,
SKIPL OUTFLG
JRST GETO
MOVEM EN,(TS)
MOVEM OU,1(TS)
HRRZI OU,1(TS)
HRLI OU,400000(OU)
SKIPL ADFLG
ADDI TS,2
FIXIT: SETZM OUTFLG
SKIPGE EN,TMP
JRST NSEEN
CKFLS: SKIPGE ADFLG
JRST ADER
SKIPGE LITF
JRST LITA
SKIPGE RFLG
JRST RPLACE
MOVEM OU,(EN)
JRST GETO
LITA: SUB OU,ONEB
MOVEM OU,(EN)
SETZM LITF
JRST GETO
NSEEN: MOVEM EN,(TS)
HRRZI EN,1(TS)
ADDI TS,2
JRST CKFLS
RPLACE: HRR OU,(OU)
TLZ OU,400000
TRO OU,400000
MOVEM OU,(EN)
SETZM RFLG
JRST GETO
ADER: MOVE 5,(EN)
MOVE 4,-1(5)
MOVEM 4,(TS)
MOVEM 5,1(TS)
MOVE 4,-1(OU)
MOVEM 4,2(TS)
MOVEM OU,3(TS)
HRRZI OU,2(TS)
HRLI OU,400000(TS)
MOVEM OU,4(TS)
AOBJP OU,
MOVEM OU,5(TS)
HRRZI OU,5(TS)
HRLI OU,400000(OU)
MOVEM OU,(EN)
ADDI TS,6
SETZM ADFLG
GETO: MOVEM EN,TMP
HRRM TS,STAR
HRRZI MA,(TS)
HRLI MA,700
ADDI TS,200
TLZN OU,400000
TRNN OU,400000
JRST GOUT
MOVE EN,OU
HRRZI 4,777775
JRST MKOUT
PUDO: HRLI OU,(4)
PUSH TS,OU
MOVE OU,EN
GOUT: HLRZ 4,OU
MOR: MOVE EN,(4)
TLZE EN,400000
JRST PUDO
TRNN EN,400000
JRST DPCH
MKOUT: HLRZ 6,EN
HRLI EN,(EN)
TRZ EN,400000
MOVEM EN,(6)
CAIA
DPCH: IDPB EN,MA
ADO: ADDI 4,2
CAIG 4,(OU)
JRST MOR
TLNN TS,777777
JRST TYOUT
POP TS,OU
HLRZ 4,OU
JRST ADO
TYOUT: HRRZI EN,15
IDPB EN,MA
HRRZI EN,12
IDPB EN,MA
SETZ EN,
IDPB EN,MA
SUBI TS,177
SKIPE PTNUM
JRST PTOUT
OUTSTR (TS)
JRST STAR
FILIN: OPEN DEVN
JRST ERRO
SETZM FNAME+3
LOOKUP FNAME
JRST ERRO
MOVE EN,INPO
SETZ TS,
INPUT EN
HRRZ EN,SVN
HRRZI N,SVN(EN)
HRRM N,STAR
SUBI EN,200
JUMPLE EN,INT
IORI EN,177
MOVNS EN
HRLZI EN,-1(EN)
HRRI EN,SVN+177
SETZ TS,
INPUT EN
JRST INT
ERRO: OUTSTR QMARK
JRST INT
FILO: SUBI N,SVN
HRRZM N,SVN
IORI N,177
MOVNS N
HRLZI N,-1(N)
HRRI N,SVN-1
OPEN DEVN
JRST ERRO
SETZM FNAME+3
ENTER FNAME
JRST ERRO
SETZ 16,
OUTPUT N
CLOSE
JRST INT
INTRU: HLLZ EN,JOBCNI
TLNN EN,1000
DISMIS
HRRZ EN,PTNUM
HRRZI TS,PTNUM+2
PTRDS EN
OUTSTR (TS)
DISMIS
PTBEG: SKIPN PTNUM
PTYGET EN
JRST STAR
MOVEM EN,PTNUM
HRRZI TS,5
PTJOBX EN
JRST STAR
HRRZI TS,3
PTJOBX EN
JRST STAR-1
PTCALL: HRRZI TS,CALLC
PTOUT: MOVE EN,PTNUM
PTWRS7 EN
JRST STAR
QMARK: 45767706424
INPO: IOWD 200,SVN
DEVN: 17
SIXBIT/DSK/
0
FNAME: SIXBIT/ALY/
SIXBIT/OOP/
BLOCK 2
CALLC: 14060,,0
CRLF: 64240,,0
ASTR: ASCIZ/*/
SPACE: ASCIZ/ /
ONEB: 1,,1 ↔ TMP: 0
OUTFLG: 0 ↔ RFLG: 0
LITF: 0 ↔ ADFLG: 0
PTNUM: 0
LOC 15000
SVN: 0
MEM: BLOCK 20000
END INT